Interactive Program Manager and Methods for Presenting Program Content

ABSTRACT

A method includes sending, from a media device to a display device, media content associated with a channel provided by a content provider, the media content received from a network device associated with the content provider. The method includes analyzing, based on a profile, a data feed from a source external to the content provider to identify content of interest. The method includes sending an indicator from the media device to the display device in response to identifying the content of interest. The method also includes, in response to user input indicating selection of the indicator, sending selectable options associated with presentation of the content of interest to the display device.

CLAIM OF PRIORITY

This application is a continuation of, and claims priority to, U.S.patent application Ser. No. 14/941,265, filed Nov. 13, 2015, which is acontinuation of U.S. patent application Ser. No. 13/769,570, filed Feb.18, 2013 (now U.S. Pat. No. 9,218,106), which is a continuation of U.S.patent application Ser. No. 11/350,244, filed Feb. 8, 2006 (now U.S.Pat. No. 8,402,503), each of which is hereby incorporated herein byreference in its entirety.

BACKGROUND

Television users are presently able to access hundreds of channelsproviding a multitude of programs, only a small fraction of which willbe of interest to a given user. To assist the user in determiningprograms of interest, current commercially available reception devicessuch as televisions, analog cable receivers, and digital cable andsatellite receivers typically provide a program guide function thatallows the user to access a grid showing programs that will be availableon various channels in upcoming time slots. Brief descriptions ofprograms may also be accessible. Such receivers may also allow the userto search for programs in basic categories such as news, sports, movies,etc.

Current commercially available television recording technology alsoprovides similar tools. For example, digital video recording machines,which typically store video on a bulk storage device such as a hard diskdrive, allow users to select programs for recording using an on screenprogram guide that provides keyword searching of program titles, aprogram time grid, and basic program categorization.

Although these devices provide tools that improve over devices ofearlier generations, these devices do not adequately address at leasttwo situations. First, these devices fail to keep a user in touch withbreaking news, local weather alerts, and program content that might beof interest when other program content is being viewed. Thus, thesedevices can create a dangerous situation for a user that is left unawareof a local severe weather alert, an evacuation order, or the like.

In addition, these devices tend to capture or identify too large of aresult set when attempting to identify content that should be ofinterest to a user. As a result, these conventional tools still requireusers to examine upcoming programs to identify programs of interest.Thus, developers of the next generation of devices are focused onproviding intelligence in receiving and recording devices foridentifying programs of interest on behalf of the user.

Despite the development of multiple approaches to provide improvedprogram guides to a user there is still a need for improved approachesfor keeping a user informed of available program content whether or notthe user is presently viewing a program from a content provider.

SUMMARY

Embodiments of a multimedia system for use with a monitor comprise areceiver, a controller and an analyzer. The receiver receives bothbroadcast and non-broadcast sources of multimedia content and presentsthe content via the monitor. The controller directs the receiver toselect a first channel and forwards a second channel different from thefirst channel to a device other than the monitor. An analyzer incommunication with the receiver monitors a program guide and at leastthe second channel for content of interest in accordance with a userprofile. The analyzer communicates information via the receiver and themonitor in response to an operator input.

An embodiment of a method for interactively selecting program contentcomprises analyzing a program guide in response to a user profile toidentify alternative content, providing a mechanism that enables a userto explore the alternative content, wherein exploration of thealternative content comprises a multiple level interactive menu andproviding a mechanism that enables a user to direct the alternativecontent to a select device.

Other systems, methods, features and advantages will be or will becomeapparent to one with skill in the art upon examination of the followingfigures and detailed description. All such additional systems, methods,features and advantages are defined and protected by the accompanyingclaims.

BRIEF DESCRIPTION OF THE FIGURES

The systems and methods for interactively presenting alternative contentto a user can be better understood with reference to the followingfigures. The components within the figures are not necessarily to scale,emphasis instead being placed upon clearly illustrating the principlesfor enabling the interactive program manager. Moreover, in the figures,like reference numbers designate corresponding parts throughout thedifferent views.

FIG. 1 is a block diagram illustrating an embodiment of a multimediaenvironment.

FIG. 2 is a schematic diagram illustrating an embodiment of theinteractive program manager of FIG. 1,

FIG. 3 is a schematic diagram illustrating multiple embodiments ofvarious operating modes of the monitor of FIG. 1.

FIG. 4 is a schematic diagram illustrating an embodiment of an operatingmode of the monitor of FIG. 1.

FIG. 5 is a flow diagram illustrating an embodiment of a method forinteractively presenting alternative content.

FIG. 6A is a flow diagram illustrating an alternative embodiment of amethod for interactively presenting alternative content to a user.

FIG. 6B is a flow diagram further illustrating the method of FIG. 6A.

DETAILED DESCRIPTION

An interactive program manager provides available broadcast andnon-broadcast sources to one or more select devices in a multimediasystem. As those skilled in the art will appreciate an identifying codeor interactive callback address for directly invoking alternativemultimedia content is used to communicate the availability of thealternative content and to controllably direct the multimedia system tothe original content. Details of a system and method for providing suchan interactive code and call back address are described, for example, inU.S. Pat. No. 5,818,438 (the '438 patent), the contents of which areincorporated by reference. A session can be established with aninteractive program manager using the interactive callback address andother information such as that described in the '438 patent, and uponcompletion of the session, a user can re-tune or select the originalcontent.

According to an exemplary embodiment, an interactive program managerassociates the identifying code or interactive callback address with alocation at which the presently viewed programming or application willbe stored. The identifying code or interactive callback address may be aprogram-specific code that can be used to invoke one or more programs toconfigure a multimedia system.

The multimedia system may include one or more auxiliary devices, such asa recorder/player and a monitor that are integrated with an interactiveprogram manager that controllably presents a first channel to themonitor and additional information to a select device, which in someconfigurations includes the monitor. The interactive program manager,when enabled by a user, notifies the user when one or more opportunitiesexist for reconfiguring the multimedia system to present alternativeprogram content from broadcast and non-broadcast sources. Broadcastsources may include live and previously recorded audio and videoinformation or program content. Non-broadcast sources may include audioand video information forwarded by an auxiliary device such as arecorder/player and one or more data feeds. The one or more data feedsmay include ancillary information regarding available or soon to beavailable program content (e.g., a program guide), informationassociated with program content stored on a medium that is forwarded bya recorder/player and/or information available from alternative sourcesexternal to a content provider such as information available via apublicly accessible data network.

According to an exemplary embodiment, the interactive program managerincludes logic for analyzing information from a program guide and one ormore data feeds in light of information stored in a user profile toidentify potential program content or data that might be of interest toa user associated with the information in the user profile. According toone embodiment of the interactive program manager, a contentclassification hierarchy is used for classifying the content ofprogramming events and for defining a user's particular interestsdefined in a user profile. The classification hierarchy is comprised oftrees of subject categories of increasing specificity. This allowsprogramming events to be classified with specificity and allows userpreferences to be expressed with equal specificity, both to emphasizeparticular categories of interest and to exclude categories not ofinterest to the user. For example, rather than simply being enabled tospecify an interest in “sports,” a user may specify that he isinterested in football and tennis but not basketball or baseball and mayfurther express interest in particular football teams and tennisplayers. Thus, the interactive program manager evaluates program contentaccording to the classification hierarchy, using user profiles definedaccording to the classification system. As a result, evaluationsgenerated by the interactive program manager reflect actual userpreferences much more accurately than if conventional general categorieswere used. Further, among multiple programs that are evaluated as beingof interest to a user, the degree of specificity of the matches providesa manner of ranking those programs based on user preferences.

The use of hierarchical classification as described above enablesintelligent identification of program content that will be of particularinterest to a given user who is not presently tuned or otherwiseconfigured to use, e.g., listen to or view, the content. Thisintelligence may be implemented to automatically record programmingevents of interest, to alert a user of upcoming programming events ofinterest, to automatically display programming events of interest asthey become available, or to selectively provide programs to the userand/or a recorder. When this intelligence is coupled with metadatadescribing individual program segments as described above, it becomespossible to provide the user with a personalized viewing experience.

Moreover, this intelligence may be implemented to enable a user toreconfigure a multimedia system in real time to switch from a firstchannel to an alternative channel, record an alternative channel whilecontinuing to view a first channel, to record a first channel whileviewing an alternative channel, all while selectively monitoring one ormore data feeds for additional information. This additional informationmay be presented in real time via one or more areas of a display.Alternatively, the additional information can be continuously monitoredfor select events or items, the occurrence of or inclusion of which,that trigger the interactive program manager to present correspondinginformation on the display.

Users are provided with a suitably configured monitor and/or one or moreadditional devices the combination of which comprises an interactiveprogram manager that is configured to receive broadband signals from acontent provider. According to exemplary embodiments, the interactiveprogram manager is configured to insert an identifying code orinteractive callback address either in a program signal (an in-bandsignal) or in an out-of-band signal. The interactive program manager isalso configured to store the identity of the source or channel on whichthe presently viewed programming is being received in one or morestorage devices. The interactive program manager is also configured todetect and store information accompanying the transmission of theidentifying code or interactive callback address regarding an image tobe displayed on the display device (such as a “key,” “icon,” or“indicator”) or an audio message to be reproduced to indicate theavailability of alternative content that might be of interest to a user.The interactive program manager is also coupled to a processorconfigured to generate a video image based on the received or pre-stored“key,” “icon,” or “indicator” information, or alternatively, isprogrammed to generate the video signal and is coupled to the displaydevice in such a manner as to provide such a signal to that device.

Furthermore, the interactive program manager is adapted to communicatewith a user via a menu presented on the display of the monitor uponreceipt of a command input from the user in response to observing theindicator (i.e., seeing the “icon” or hearing the message). The menuincludes one or more inputs for controllably configuring the multimediasystem and/or updating the user profile. The interactive program managermay first store the identity of the channel on which the program thenbeing viewed is being transmitted. When the program responsible forgenerating the menu is terminated, the interactive program managerdistributes one or more channels or sources of information in accordancewith various configuration parameters identified during thecommunication session with the user.

Having generally described the interactive program manager and methodsfor presenting program content, various additional embodiments will bedescribed with respect to FIGS. 1-6B. By way of example, FIG. 1 is ablock diagram illustrating an embodiment of a multimedia environment100. Multimedia environment 100 includes monitor 160 and an interactiveprogram manager 110 that processes program content provided by contentprovider 140 on its way to monitor 160. Monitor 160 includes interface162 for receiving command inputs from one or more local controls (notshown) integrated with monitor 160 or from wireless controller 170 vialink 173. Monitor 160 further includes processor 164 for receiving audioand video signal information and converting the same for presentationvia display 165, right-side speaker 166, and left-side speaker 168.Processor 164 converts right-side audio information into a right-channelanalog signal, which is converted into right-side audio 167 byright-side speaker 166. Processor 164 also converts left-side audioinformation into a left-channel analog signal, which is converted intoleft-side audio 169 by left-side speaker 168.

As illustrated in FIG. 1, interactive program manager 110 is coupled tocontent provider 140 via bus 145. Interactive program manager 110 iscoupled to monitor 160 via bus 117 and audio/video link 161. Interactiveprogram manager 110 is also coupled to profile store 150 via bus 155 andrecorder/player 130 via audio/video link 133 and audio/video link 135.Wireless controller 170 communicates with one or both of monitor 160 vialink 173 and interactive program manager 110 via link 175 to conveyvarious commands and data entries from a user. As indicated in FIG. 1,wireless controller 170 communicates commands and/or data to monitor 160via link 173 and interface 162. Similarly, wireless controllercommunicates commands and/or data to interactive program manager 110 vialink 175 and interface 112.

Bus 145 forwards signals associated with a plurality of channels 142,program guide 144, as well as one or more optional data feeds 146. Eachof the channels 142 includes audio and video information that togethermake up a program. Both channel information and the one or more datafeeds 146 can be transmitted in analog and/or digital formats. As thoseskilled in the art will appreciate, closed-captioning information may beimbedded or otherwise coded into portions of an analog channel. Asuitably configured decoder (not shown) integrated or otherwise coupledto monitor 160 converts the received closed-captioning information forpresentation as text on display 165. Data feeds 146 may containinformation generated by content provider 140 or sources external tocontent provider 140. Data feeds 146 are similarly processed byappropriately configured decoders or processors (not shown) integratedor otherwise coupled to one or more of interactive program manager 110or monitor 160. Program guide 144 includes information describingpresently available program content across the plurality of channels 142and program content that will be presented in the near future.

Bus 117 forwards control signals generated within interactive programmanager 110 that when decoded or otherwise interpreted by processor 164direct monitor 160 to function in one of various operational modes. Inaddition, bus 117 forwards configuration information or other dataentered by a user via one or both of wireless controller 170 and monitor160. The configuration information and/or other data is received andprocessed by interactive program manager 110. Processing includes one orboth of updating logic and/or data associated with analyzer 118 or userprofile 152. Audio/video link 161 forwards analog and/or digital signalscontaining information from a select channel provided by contentprovider 140 or audio and video information from recorder/player 130 inaccordance with the configuration information or data communicated tointeractive program manager 110, information in user profile 152 andinformation in program guide 144.

As described above, one or more indicators, such as indicator 163 may beintegrated within the various signals communicated via interactiveprogram manager 110 to indicate to a user that alternative content isavailable. In the illustrated embodiment, indicator 163 is a visualsignal that is presented on display 165. In an alternative mode ofoperation, an audio indicator may be communicated in the form of anaudible tone or a message communicated via speaker 166 and speaker 168,or both the audio indicator and the visual indicator may be enabled.

Interactive program manager 110 comprises controller 114, receiver 116,and analyzer 118. Controller 114 is coupled to interface 112 via inputbus 113. Controller 114 is further coupled to receiver 116 and analyzer118 via command bus 115. Receiver 116 is coupled to content provider viabus 145, which contains the above-described channels 142, program guide144, and data feeds 146. Receiver 116 is further coupled torecorder/player 130 via audio/video link 135, which provides audio/videoinformation from the output or player portion of recorder/player 130 andaudio/video link 133, which provides audio/video information from aselect channel selected from the set of channels 142 provided by contentprovider 140 for recording by the recorder portion of recorder/player130. Receiver 116 forwards a separate and distinct channel (i.e.,different from the channel sent to recorder/player 130) selected fromthe set of channels 142 to monitor 160 via audio/video link 161.Analyzer 118 receives commands and configuration information fromcontroller 114 and program guide 144 and one or more data feeds 146 viabus 145, receiver 116 and command bus 115. In addition, analyzer 118receives user profile 152 from profile store 150 via bus 155. Analyzer118 is configured with one or more programs for identifying programcontent of interest to a user that is presently available and/or maybecome available in the near future. Analyzer 118 compares informationfrom program guide 144 and data feed 146 in light of information fromuser profile 152 to determine when alternative program content might beof interest to a user. When so directed, analyzer 118 also monitors thestatus of broadcast and non-broadcast program content and in response toa timer or a triggering condition reports various information related tothe program to the user. In addition to monitoring program content,analyzer 1 18 may be directed to report when information provided viadata feed 146 or alternative data sources (not shown) indicate that analert condition exists.

In the illustrated embodiment, interactive program manager 110 andprofile store 150 are separate devices. It should be understood that thefunctions provided interactive program manager 110 and profile store 150could be integrated or otherwise combined with monitor 160 or some otherdevice such as a computing device, a set top box, or some other devicecommunicatively coupled to monitor 160 and content provider 140 (notshown). For that matter, although the example embodiment depicts theinteractive program manager 110 as a separate and distinct device amongothers shown in the multimedia system, it should be appreciated that oneor more functional blocks of the interactive program manager 110 may beintegrated with monitor 160, recorder/player 130 or perhaps otherdevices communicatively coupled to these or other devices at a userpremise. For example, analyzer 118 and user profile 152 could beintegrated and supplied as an enhanced interactive service by contentprovider 140.

FIG. 2 is a schematic diagram illustrating an embodiment of theinteractive program manager 110 of FIG. 1. Interface 112 includeswireless receiver 210, decoder 212 and output buffer 214. Wirelessreceiver 210 is coupled to decoder 212 via connection 211. Decoder 212is further coupled to output buffer 214 via connection 213. Interface112 receives commands issued by a user via wireless controller 170.Wireless receiver 210 receives and forwards the various encoded commandsto decoder 212, which transforms the information into a command that canbe interpreted by controller 114. Output buffer 214 receives the decodedor transformed command information and forwards the same via connection113 to controller 114 for further processing.

Controller 114 includes I/O buffer 222, processor 224 and memory 226.I/O buffer 222, processor 224 and memory 226 are communicatively coupledvia local bus 223. I/O buffer 222 receives command information frominterface 113 and in accordance with interface logic 228 stored inmemory 226 as executed by processor 224 forwards commands andinformation to receiver 116, analyzer 118 and/or monitor 160 (FIG. 1)via command bus 115. In addition, I/O buffer 222 is further coupled tomonitor 160 via bus 117.

Receiver 116 includes I/O buffer 230, processor 232, memory 234, switch236, switch 238, tuner 240 and tuner 242, I/O buffer 230, processor 232and memory 234 are communicatively coupled via local bus 231. Processor232 is coupled to switch 236 and switch 238 via connections 241 and 235,respectively. Processor 232 is further coupled to tuner 240 and tuner242 via connection 239 and connection 237, respectively. Switch 236 hasa first input configured to receive audio and video information viaaudio/video link 135. Switch 236 has a second input configured toreceive multiple channels from a content provider via link 253. Switch236 is configured with three outputs. A first output coupled to link 243bypasses the tuners. A second output coupled to link 245 directs themultiple channels to tuner 240. A third output coupled to link 244directs the multiple channels to tuner 242. Tuner 240 in accordance withone or more control commands provided by processor 232 selectivelyforwards the audio and video information associated with one of thereceived channels via link 248 to switch 238. Tuner 242 in accordancewith one or more control commands provided by processor 232 selectivelyforwards the audio and video information associated with a differentchannel via link 249 to switch 238. Switch 238 is configured with threeinputs and two outputs. A first input coupled to link 243 receives audioand video information from switch 236 via link 243. A second inputcoupled to link 248 receives the audio and video information associatedwith a selected channel from tuner 240. A third input coupled to link249 receives the audio and video information associated with thealternative or different channel from tuner 242. A first output ofswitch 238 is coupled to audio/video link 133, which may be applied toan input of an auxiliary device such as the recorder/player 130introduced in FIG. 1. A second output of switch 238 is coupled toaudio/video link 161, which is coupled to monitor 160 (FIG. 1).

In the embodiment illustrated in FIG. 2, receiver 116 also receives oneor more data feeds from content provider 140 (FIG. 1) along bus 119.Information provided by content provider 140 in the data feeds may bebuffered by I/O buffer 230 and forwarded to analyzer 118 to assist indetermining when alert conditions exist or otherwise monitoring theprogress of program content.

Analyzer 118 includes I/O buffer 260, processor 262 and memory 263. I/Obuffer 260, processor 262 and memory 263 are communicatively coupled vialocal bus 261. I/O buffer 260 receives command information from commandbuffer 115, user profile information from bus 155, content provider dataincluding a program guide and possibly one or more data feeds via bus119. In addition, I/O buffer 260 may receive one or more alternativedata feeds via bus 255. These alternative data feeds can includeinformation available from one or more information servers coupled to apublicly accessible or a privately accessible data network (not shown).I/O buffer 260 receives the command information, user profileinformation, program guide information and one or more data feeds and inaccordance with logic 269 stored in memory 263 as executed by processor262 forwards notices of triggering conditions and alerts to controller114, which is configured to communicate information to the user inresponse to the triggering conditions and/or alerts. Memory 263 mayinclude one or more user profiles such as user profile 265 and one ormore program guides 267 as may be desired.

In the example embodiment illustrated in FIG. 2, controller 114,receiver 116 and analyzer 118 each contain respective I/O buffers, localbusses, memories and processors. It should be understood that inalternative embodiments, controller 114, receiver 116 and analyzer 118may be integrated in a single computing device. When configured asillustrated, local bus 223, local bus 231 and local bus 261 may be wiredor wireless connections, as known in the art. In addition each local busmay have additional elements, which are omitted for simplicity, such ascaches, drivers, repeaters, and receivers, to enable communications.Further, each local bus may include address, control, and/or dataconnections to enable appropriate communications among the respectiveI/O buffers, processors and memories. Processor 224, processor 232 andprocessor 262 are hardware devices for executing software, particularlythat stored in memory 226, memory 234 and memory 263, respectively. Eachof the processors can be any custom made or commercially availableprocessor, a central processing unit (CPU), a semiconductor basedmicroprocessor (in the form of a microchip or chip set), or generallyany device for executing software instructions. Each of the memories caninclude any one or combination of volatile memory elements (e.g.,random-access memory (RAM, such as dynamic random-access memory (DRAM),static random-access memory (SRAM), synchronous dynamic random-accessmemory (SDRAM), etc.) and nonvolatile memory elements (e.g., read-onlymemory (ROM), among other elements or devices. Moreover, each of thememories may incorporate electronic, magnetic, optical, and/or othertypes of storage media. Note that the memories can have a distributedarchitecture, where various components are situated remote from oneanother, but can be accessed by each of the respective processors.

The logic stored in each of memory 226, memory 234 and memory 263 mayinclude one or more separate programs, each of which comprises anordered listing of executable instructions for implementing logicalfunctions in addition to identified locations for data storage. Theprograms can be source programs, executable programs (object code),scripts, or any other entities comprising a set of instructions to beperformed. When implemented as source programs, the programs aretranslated via a compiler, assembler, interpreter, or the like, whichmay or may not be included within the respective memories, so as tooperate properly in connection with the processor and/or an associatedoperating system. Furthermore, the logic stored in each of memory 226,memory 234 and memory 263 can be written in one or more object-orientedprogramming languages, which have classes of data and methods, orprocedure programming languages, which have routines, subroutines,and/or functions.

Moreover, logic stored in each of memory 226, memory 234 and memory 263can be stored on any computer-readable medium for use by or inconnection with any computer related system or method. In alternativeembodiments, one or more of the programs can implemented with any or acombination of the following technologies, which are each well known inthe art: a discrete logic circuit(s) having logic gates for implementinglogic fractions upon data signals, an application-specific integratedcircuit (ASIC) having appropriate combinational logic gates, aprogrammable gate array(s) (PGA), a field-programmable gate array(FPGA), etc.

FIG. 3 is a schematic diagram illustrating a menu 300 containingmultiple user controllable inputs that together define embodiments ofvarious operating modes of the monitor 160 of FIG. 1. The example set ofuser controllable inputs includes controls for selectively enabling ordisabling visual and audio indicators, picture-in-picture, alert(s),closed-captioning, as well as other data representations. In addition,the example set of user controllable inputs includes controls forselecting the source for display 165, a picture-in-picture window, analert window, a closed-captioning information window, as well as a datarepresentation window. The example menu 300 is generated by interfacelogic 228 and presented by monitor 160 on display 165. Edit indicator305 defines a select input to modify. Edit indicator 305 is controllablydirected up or down through the list of inputs via one or both ofcontrol inputs associated with wireless controller 170 and a controlinterface associated with monitor 160 (FIG. 1). In addition each of theinput items in menu 300 includes a highlight bar indicative of thepresent selection for that particular input item. The highlight bar iscontrollably directed left or right through the list of possibleselections (e.g., channels, data feeds, uniform resource locator orenable/disable) associated with the input item via one or both ofcontrol inputs associated with wireless controller 170 and a controlinterface associated with monitor 160 (FIG. 1).

In the example embodiment illustrated in FIG. 3, menu 300 includes maindisplay source 310, picture-in-picture enable/disable 320,picture-in-picture source 325, visual indicator enable/disable 330,audio indicator enable/disable 335, alert enable/disable 340, alertsource 345, closed-captioning enable/disable 350, closed-captioningsource 355, data representation enable/disable 360, and data source 365input items.

The highlight bar associated with the main display source 310 inputindicates that “channel 1” is the selected source. As further indicatedin FIG. 3 main display source 310 includes selection items “Channel Y”and “Auxiliary Source” as possible alternative sources for video and/oraudio information for presentation on display 165 of monitor 160. Thehighlight bar associated with picture-in-picture enable/disable 320indicates that picture-in-picture is enabled or on. The highlight barassociated with the picture-in-picture source 325 input indicates that“channel Y” is the selected source. As further indicated in FIG. 3picture-in-picture source 325 includes selection items “Channel 1” and“Auxiliary Source” as possible alternative sources for video informationfor presentation within a picture-in-picture window on display 165 ofmonitor 160. The highlight bar associated with visual indicatorenable/disable 330 indicates that the visual indicator is enabled or on.The highlight bar associated with audio indicator enable/disable 335indicates that the audio indicator is disabled or off. The highlight barassociated with alert enable/disable 34 indicates that the alert inputis enabled or on. The highlight bar associated with the alert source 345input indicates that “Data Feed” is the selected source. As furtherindicated in FIG. 3 alert source 345 includes selection item “Channel X”as a possible alternative source for video information for presentationwithin an alert window on display 165 of monitor 160. The highlight barassociated with closed captioning enable/disable 350 input indicatesthat the closed captioning input is disabled or off. As a result of theclosed captioning being selectively disabled, closed captioning source355 does not contain a highlight bar. When closed captioning is enabled,closed captioning source 355 includes selection items “Channel 1” and“Channel Y.” The highlight bar associated with the data representationenable/disable 360 input indicates that the data representation input isdisabled or off. As a result of the data representation beingselectively disabled, data source 365 does not contain a highlight bar.When data representation is enabled, data source 365 includes “URL 1”and “URL 2.”

Interactive program manager 110 can be configured to generate one ormore alternative menus for presentation to a user with more or less userselectable configuration items than those presented in the illustratedembodiment. For example, an audio alert input that overrides the audioportion of the main display source when an alert condition isidentified, a picture-in-picture audio select input that overrides theaudio portion of the main display source with audio information from thepicture-in-picture source and one or more additional data items may beadded to further select and/or identify both the source associated withthe data representation input and the alert input. Menu 300 may also beconfigured to provide an interface for defining information that will beused to trigger the alert and/or update the data representation.

FIG. 4 is a schematic diagram illustrating an embodiment of an operatingmode of the monitor 165 of FIG. 1. The operating mode illustrated inFIG. 4 presents the video content from channel 1 in the background 410of display 165 and a host of other items in select areas of theforeground. For example, die video information from channel 2 ispresented in picture-in-picture window 420. By way of further example,alert information provided by a local broadcast channel as distributedby content provider 140 or some other source or an alternative data feedis presented in alert window 430. In addition, indicator 163 (in itsvisual form) is presented in indicator window 163. Alternatively, closedcaptioning information or alternative text messages may be presented inclosed caption/alternative information window 440 and a datarepresentation of information provided via a data stream is selectivelypresented in data representation window 450. The example operating modeillustrated in FIG. 4 is just one of many possible arrangements that canbe generated via the interactive program manager 110 and monitor 160.For example, alternative embodiments may include changing the locationof one or more of the windows. In addition, one or more items may beintegrated or otherwise arranged to share a select area of display 165.

FIG. 5 is a flow diagram illustrating an embodiment of a method 500 forinteractively presenting alternative content. In this regard, each blockrepresents a specified step or function. When embodied in softwareand/or hardware/firmware, each block represents a module, segment, orportion of code, which comprises one or more executable instructions forimplementing the specified function(s). Method 500 begins with block 510where interactive program manager 110 analyzes a program guide inresponse to information provided in a user profile to identifyalternative content. In block 520, interactive program manager 110presents for display an indicator that indicates that alternativecontent is available to the user. In block 530, the interactive programmanager 110 provides a mechanism that enables the user to explore theidentified alternative content. Thereafter, as indicated in block 540,the interactive program manager 110 provides a mechanism that enablesthe user to controllably direct the alternative content to a selectdevice.

These mechanisms may comprise both software and/or hardware/firmwareconfigured to present a layered or hierarchical menu to a user throughone or more interfaces associated with wireless controller 170, monitor160 or interactive program manager 110. In operation, the mechanismprompts or otherwise communicates with the user to determine whether theuser would like to continue viewing the present program only, continueviewing the present program while recording the alternative content,continue viewing the present program while monitoring the alternativecontent, switch to the view the alternative content, switch to view thealternative content while recording the original program, and/or changethe operating mode of monitor 160 in some manner. As described above,operating modes include selection of a main display source,picture-in-picture enable/disable, picture-in—picture source (whenpicture-in-picture is enabled), visual indicator enable/disable, audioindicator enable/disable, alert enable/disable, alert source (when alertis enabled), closed captioning service enable/disable, closed captioningsource (when closed captioning is enabled), data representationenable/disable, and data source (when data representation is enabled).

FIGS. 6A-6B are flow diagrams illustrating an alternative embodiment ofa method 502 for interactively presenting alternative content to a user.In this regard, each block represents a specified step or function. Whenembodied in software and/or hardware/firmware, each block represents amodule, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified function(s).Method 502 begins with decision block 505 where a determination is maderegarding the status of an indicator. When a user is interested inknowing what alternative content might be presently available oravailable at a select time in the future and has enabled the indicator,processing continues with block 510 as indicated by the flow controlarrow labeled, “Yes,” exiting decision block 505. Otherwise, when a useris not interested in alternative content and has not enabled theindicator, as shown by the flow control arrow labeled, “No,” exitingdecision block 505, processing may resume at the start. It should beunderstood that in most embodiments execution of method 502 may bepaused for a period of time before repeating the determination indecision block 505.

Method 502 continues with block 510 where interactive program manager110 analyzes a program guide in response to information provided in auser profile to identify alternative content. In decision block 515 adetermination is made whether alternative content identified by theprogramming guide or an alternative data source matches a possible userinterest. When alternative content matches a user interest, processingcontinues with block 520 as indicated by the flow control arrow labeled,“Yes,” exiting decision block 515. Otherwise, when alternative contentdoes not match a user interest, as shown by the flow control arrowlabeled, “No,” exiting decision block 515, processing resumes afterdecision block 505.

Method 502 continues with block 520 where interactive program manager110 presents for display an indicator that indicates that alternativecontent is available to the user. In block 530, the interactive programmanager 110 establishes an interactive session with a user. As indicatedin block 540, during the interactive session, the interactive programmanager 110 provides a mechanism that enables the user to explore thealternative content. As indicated in FIGS. 6A and 6B connector “A” linksblock 540 with block 550, where the interactive program manager 110provides a mechanism that enables the user to direct the alternativecontent to a select device.

Thereafter, in decision block 555 a query is made to determine whether atracking flag is enabled. The tracking flag is enabled when a user isinterested in knowing what is occurring on an available but not selectedchannel or data source. When the tracking flag is enabled as indicatedby the flow control arrow labeled, “Yes” exiting decision block 555processing continues with block 560. As indicated in block 560,interactive program manager 110 analyzes content available on a selectchannel. In this case, the select channel is one of a data feed or anaudio/video program that is not presently being forwarded to monitor 160for presentation to a user. Otherwise, when tracking is not enabled, asindicated by the flow control arrow labeled, “No” exiting decision block555 processing continues with decision block 565. In decision block 565a query is presented to the user whether to modify an operational modeof monitor 160. When the response to the query associated with decisionblock 565 is affirmative, as indicated by the flow control arrow labeled“Yes” exiting decision block 565, processing continues with block 570where the operational mode of monitor 160 is changed. Otherwise, whenthe response to the query associated with decision block 565 isnegative, processing returns to block 510 via connector “B.” That is,connector “B” bridges the second portion of method 502 as illustrated inFIG. 6B with the first portion of method 502 illustrated in FIG. 6A. Asfurther illustrated by the flow diagram of FIG. 6B, after theoperational mode of monitor 160 is modified in block 570, processing mayalso return to block 510. Otherwise, one or more criteria may be appliedin a making a determination to terminate method 502.

In operation, the interactive program manager 110, as indicated inblocks 540 and 550, prompts or otherwise communicates with the user todetermine whether the user would like to continue viewing the presentprogram, continue viewing the present program while recording thealternative content, continue viewing the present program whilemonitoring the alternative content, switch to the view the alternativecontent, switch to view the alternative content while recording theoriginal program, and/or change the operating mode of monitor 160 insome manner. As described above, operating modes include selection of amain display source, picture-in-picture enable/disable,picture-in-picture source (when picture-in-picture is enabled), visualindicator enable/disable, audio indicator enable/disable, alertenable/disable, alert source (when alert is enabled), closed captioningservice enable/disable, closed captioning source (when closed captioningis enabled), data representation enable/disable, and data source (whendata representation is enabled). Operating modes may also includelistening to audio programming only, the audio portion of a selectchannel of multimedia content, recorded audio material and the like.

Operational software programs that may be used by interactive programmanager 110, as well as operational software that may be used inconjunction with controllers, monitors, computers, among other devicesthat interface with system 100, which comprise an ordered listing ofexecutable instructions for implementing logical functions, can beembodied in any computer-readable medium for use by or in connectionwith an instruction execution system, apparatus, or device, such as acomputer-based system, processor-containing system, or other system thatcan fetch the instructions from the instruction execution system,apparatus, or device and execute the instructions.

In the context of this document, a “computer-readable medium” can be anymeans that can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. The computer-readable medium can be, forexample but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, device,or propagation medium. More specific examples (a non-exhaustive list) ofthe computer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a portable computerdiskette (magnetic), a RAM, a ROM, an erasable programmable read-onlymemory (EPROM or Flash memory) (magnetic), an optical fiber (optical),and a portable CDROM (optical). Note that the computer-readable mediumcould even be paper or another suitable medium upon which the program isprinted and the program can be electronically captured, via forinstance, optical scanning of the paper or other medium, then compiled,interpreted or otherwise processed in a suitable manner if necessary,and then stored in a computer memory.

While various embodiments of the systems and methods for enabling aninteractive program manager have been described, it will be apparent tothose of ordinary skill in the art that many more embodiments andimplementations are possible that are within the scope of theaccompanying claims. Accordingly, the systems and methods for enablingan interactive program manager are not to be restricted beyond theattached claims and their equivalents.

What is claimed is:
 1. A method comprising: sending, from a media deviceto a display device, media content associated with a channel provided bya content provider, the media content received from a network deviceassociated with the content provider; analyzing, based on a profile, adata feed from a source external to the content provider to identifycontent of interest; sending an indicator from the media device to thedisplay device in response to identifying the content of interest; andin response to user input indicating selection of the indicator, sendingselectable options associated with presentation of the content ofinterest to the display device.
 2. The method of claim 1, wherein theselectable options include a first option to enable presentation of themedia content as a main display.
 3. The method of claim 2, wherein theselectable options include a second option to enable presentation of thecontent of interest as a picture-in-picture display.
 4. The method ofclaim 2, wherein the selectable options include a second option toenable closed-caption data associated with the content of interest tooverlay the main display.
 5. The method of claim 2, wherein theselectable options include a second option to record the content ofinterest.
 6. The method of claim 1, wherein the selectable optionsinclude a first option to enable presentation of the content of interestas a main display.
 7. The method of claim 6, wherein the selectableoptions include a second option to enable presentation of the mediacontent as a picture-in-picture display.
 8. The method of claim 6,wherein the selectable options include a second option to enableclosed-caption data associated with the media content to overlay themain display.
 9. The method of claim 6, wherein the selectable optionsinclude a second option to record the media content.
 10. The method ofclaim 1, wherein the profile comprises a user profile associated with aparticular user, a user profile associated with the media device, orboth.
 11. A system comprising: a processor of a media device; and amemory storing instructions executable by the processor to performoperations including: sending media content to a display device, themedia content associated with a channel provided by a content provider,and the media content of the first channel received from a networkdevice associated with the content provider; analyzing, based on aprofile, a data feed from a source external to the content provider toidentify content of interest; sending an indicator to the display devicein response to identifying the content of interest; and in response touser input indicating selection of the indicator, processing the contentof interest in accordance with an option selected from a menu.
 12. Thesystem of claim 11, wherein data feed is received via a publiclyaccessible data network.
 13. The system of claim 11, wherein the profileidentifies an indicator mode for the indicator.
 14. The system of claim13, wherein the indicator mode identifies a visual mode, an audio mode,or both.
 15. The system of claim 11, wherein the menu includes optionsassociated with a main display, a picture-in-picture display, an alertfrom a data source, closed-caption data, data representations associatedwith uniform resource locator addresses, or combinations thereof.
 16. Acomputer-readable storage device storing instructions that, whenexecuted by a processor, cause the processor to perform operationscomprising: sending media content to a display device, the media contentassociated with a channel provided by a content provider, and the mediacontent received from a network device associated with the contentprovider; analyzing, based on a profile, a data feed from a sourceexternal to the content provider to identify content of interest; inresponse to identifying the content of interest, sending an indicator tothe display device; and in response to user input indicating selectionof the indicator, processing the content of interest in accordance withan option selected from a menu.
 17. The computer-readable storage deviceof claim 16, wherein processing the content of interest includesrecording the content of interest.
 18. The computer-readable storagedevice of claim 16, wherein processing the content of interest includesoverlaying closed-caption content of the content of interest on adisplay of the media content.
 19. The computer-readable storage deviceof claim 16, wherein processing the content of interest includes sendingthe content of interest to the display device as a main display.
 20. Thecomputer-readable storage device of claim 16, wherein processing thecontent of interest includes sending the content of interest to thedisplay device as picture-in-picture content in association with adisplay of the media content.